package com.yunxi.sto.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 车辆出库计划单
 * </p>
 *
 * @author caoYong
 * @since 2019-05-20
 */
@Data
@ApiModel(value="StoStockOutPlan对象", description="车辆出库计划单")
public class StoStockOutPlanVO implements Serializable {

    @ApiModelProperty(value = "主键ID")
    private String stockOutPlanId;

    @ApiModelProperty(value = "出库计划单号")
    private String stockOutPlanNo;

    @ApiModelProperty(value = "组织代码")
    private String orgCode;

    @ApiModelProperty(value = "车辆VIN码")
    private String vin;

    @ApiModelProperty(value = "库位代码")
    private String storageCode;

    @ApiModelProperty(value = "库位名称")
    private String storageName;

    @ApiModelProperty(value = "出库类型(VehicleOutboundPlan_OutboundType,1销售出库,2异地调拨出库,3寄售出库,4借车出库,11同城调拨出库,12送修出库,13消耗领用,14返回生产)")
    private String stockOutType;

    @ApiModelProperty(value = "单据状态(StockOutPlan_BillState,1新建,2分配司机,3准备出库,4出库完成,5作废)")
    private String billState;

    @ApiModelProperty(value = "是否打印(1是0否)")
    private Integer isPrint;

    @ApiModelProperty(value = "打印时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date printTime;

    @ApiModelProperty(value = "标签打印时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date labelPrintTime;

    @ApiModelProperty(value = "交货单号")
    private String deliveryNo;

    @ApiModelProperty(value = "打单员")
    private String billPrinter;

    @ApiModelProperty(value = "出库司机")
    private String stockOutDriver;

    @ApiModelProperty(value = "出库司机电话")
    private String driverPhone;

    @ApiModelProperty(value = "出库PDI检验员")
    private String pdiInsepecter;

    @ApiModelProperty(value = "其它事项说明")
    private String remark;

    @ApiModelProperty(value = "创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTime;

    @ApiModelProperty(value = "开始创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTimeStart;

    @ApiModelProperty(value = "结束创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTimeEnd;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "是否作废(1是0否)")
    private Integer isDel;

    @ApiModelProperty(value = "计划出库时间")
    private Date planStockOutDate;

    @ApiModelProperty(value = "计划出库时间起")
    private String planStockOutDateBegin;

    @ApiModelProperty(value = "计划出库时间止")
    private String planStockOutDateEnd;

    @ApiModelProperty(value = "出VDC道闸时间")
    private Date vdcOutDate;

    @ApiModelProperty(value = "实际出库时间")
    private Date stockOutDate;

    @ApiModelProperty(value = "实际出库时间起")
    private String stockOutDateBegin;

    @ApiModelProperty(value = "实际出库时间止")
    private String stockOutDateEnd;

    @ApiModelProperty(value = "发运单编号")
    private String transportOrderNo;

    @ApiModelProperty(value = "司机姓名")
    private String driverName;

    @ApiModelProperty(value = "发运道次")
    private String shippingRoad;

    @ApiModelProperty(value = "分配司机日期")
    private Date rfidDate;

    @ApiModelProperty(value = "车系名称")
    private String seriesName;

    @ApiModelProperty(value = "车型名称")
    private String modelName;

    @ApiModelProperty(value = "配置名称")
    private String catalogName;

    @ApiModelProperty(value = "内饰颜色名称")
    private String colorNameIn;

    @ApiModelProperty(value = "外饰颜色名称")
    private String colorNameOut;

    @ApiModelProperty(value = "合格证是否随车(1是,0否)")
    private Integer isOnVehicle;

    @ApiModelProperty(value = "是否有合格证")
    private String isCert;

    @ApiModelProperty(value = "维修单号")
    private String repairOrderNo;

    @ApiModelProperty(value = "入库日期")
    private Date inStockDate;

    @ApiModelProperty(value = "库龄(天)")
    private Integer storageAge;

    @ApiModelProperty(value = "小车道次")
    private String carRoad;

}
